import pandas as pd
import os

p_path = os.getcwd()
dir_path = p_path + "/数据源/ERP数据/"
for fname in os.listdir(dir_path):
    if fname.startswith('结算差异报告') and fname.endswith(".xlsx"):
        js_list = pd.read_excel(dir_path + fname)
        print(f'结算差异报告数据：{len(js_list)} 条')
        sale_list = pd.read_excel(f"{p_path}/处理过的数据/4.处理过的结算数据.xlsx")
        print(f'TEMU结算数据：{len(sale_list)} 条')

        js_list = js_list.drop_duplicates()  # 去除重复数据
        print(f'结算差异报告去除重复之后的数据：{len(js_list)} 条')
        # 对结算差异表进行预处理，合并单号和成本
        da = js_list.groupby(['订单号', 'SKU'])[['数量', '采购成本', '头程成本', '其他成本']].sum().reset_index()

        da['采购成本'] = da['采购成本'].div(da['数量'])
        da['头程成本'] = da['头程成本'].div(da['数量'])
        da['其他成本'] = da['其他成本'].div(da['数量'])
        print(f'结算差异报告合并单号和成本的数据：{len(da)} 条')

        result_list = pd.merge(sale_list, da, how='left', left_on=["亚马逊订单号", "SKU"],
                               right_on=["订单号", "SKU"])

        result_list.drop(['订单号', "数量"], axis=1, inplace=True)

        result_list.rename(columns={'币种': '结算币种', 'FBA费': '订单FBA费($)', '单个FBA费用($)': 'FBA DIV($)',
                                    '采购成本': '采购成本(¥)', '头程成本': '头程成本(¥)', '其他成本': '其他成本(¥)'},
                           inplace=True)
        result_list.to_excel(f"{p_path}/处理过的数据/5.处理过的结算数据.xlsx", index=False)
        print(f'合并完成的数据：{len(result_list)} 条')
